home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1999 …ember: Reference Library / Apple Developer Reference Library (December 1999) (Disk 1).iso / pc / technical documentation / develop / develop issue 24 / develop issue 24 code / scriptable database 1.0a15.sea / Scriptable Database 1.0a15 / Database / TransactionAwareObject.cp < prev    next >
MacBinary  |  1996-02-19  |  7.6 KB  |  [TEXT/CWIE]

open in: MacOS 8.1     |     Win98     |     DOS

browse contents    |     view JSON data     |     view as text


This file was processed as: MacBinary (archive/macBinary).

ConfidenceProgramDetectionMatch TypeSupport
10% dexvert MacBinary (archive/macBinary) fallback Supported
1% dexvert MS-DOS Code Page Info (other/dosCodePage) ext Unsupported
1% dexvert Text File (text/txt) fallback Supported
100% file MacBinary II, inited, Mon Feb 19 22:30:07 1996, modified Mon Feb 19 22:30:07 1996, creator 'CWIE', type ASCII, 7129 bytes "TransactionAwareObject.cp" , at 0x1c59 410 bytes resource default (weak)
99% file data default
74% TrID Macintosh plain text (MacBinary) default
25% TrID MacBinary 2 default (weak)
100% siegfried fmt/1762 MacBinary (II) default
100% lsar MacBinary default


id metadata
keyvalue
macFileType[TEXT]
macFileCreator[CWIE]



hex view
+--------+-------------------------+-------------------------+--------+--------+
|00000000| 00 19 54 72 61 6e 73 61 | 63 74 69 6f 6e 41 77 61 |..Transa|ctionAwa|
|00000010| 72 65 4f 62 6a 65 63 74 | 2e 63 70 00 00 00 00 00 |reObject|.cp.....|
|00000020| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000030| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000040| 00 54 45 58 54 43 57 49 | 45 01 00 00 00 00 00 00 |.TEXTCWI|E.......|
|00000050| 00 00 00 00 00 1b d9 00 | 00 01 9a ad 4e f0 bf ad |........|....N...|
|00000060| 4e f0 bf 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |N.......|........|
|00000070| 00 00 00 00 00 00 00 00 | 00 00 81 81 eb 4b 00 00 |........|.....K..|
|00000080| 0d 23 69 6e 63 6c 75 64 | 65 20 22 54 72 61 6e 73 |.#includ|e "Trans|
|00000090| 61 63 74 69 6f 6e 41 77 | 61 72 65 4f 62 6a 65 63 |actionAw|areObjec|
|000000a0| 74 2e 68 22 0d 0d 23 69 | 6e 63 6c 75 64 65 20 22 |t.h"..#i|nclude "|
|000000b0| 54 72 61 6e 73 61 63 74 | 69 6f 6e 2e 68 22 0d 0d |Transact|ion.h"..|
|000000c0| 23 69 6e 63 6c 75 64 65 | 20 22 45 78 63 65 70 74 |#include| "Except|
|000000d0| 69 6f 6e 73 2e 68 22 0d | 0d 2f 2f 2d 2d 2d 2d 2d |ions.h".|.//-----|
|000000e0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000000f0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000100| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000110| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000120| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 0d 2f 2f 20 54 |--------|---.// T|
|00000130| 54 72 61 6e 73 61 63 74 | 69 6f 6e 42 61 73 65 4f |Transact|ionBaseO|
|00000140| 62 6a 65 63 74 3a 3a 41 | 64 64 52 65 66 65 72 65 |bject::A|ddRefere|
|00000150| 6e 63 65 0d 2f 2f 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |nce.//--|--------|
|00000160| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000170| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000180| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000190| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000001a0| 2d 2d 2d 2d 2d 2d 0d 76 | 6f 69 64 20 54 54 72 61 |------.v|oid TTra|
|000001b0| 6e 73 61 63 74 69 6f 6e | 42 61 73 65 4f 62 6a 65 |nsaction|BaseObje|
|000001c0| 63 74 3a 3a 41 64 64 52 | 65 66 65 72 65 6e 63 65 |ct::AddR|eference|
|000001d0| 28 29 20 63 6f 6e 73 74 | 0d 7b 0d 09 2b 2b 28 28 |() const|.{..++((|
|000001e0| 54 54 72 61 6e 73 61 63 | 74 69 6f 6e 42 61 73 65 |TTransac|tionBase|
|000001f0| 4f 62 6a 65 63 74 2a 29 | 74 68 69 73 29 2d 3e 66 |Object*)|this)->f|
|00000200| 52 65 66 65 72 65 6e 63 | 65 43 6f 75 6e 74 3b 0d |Referenc|eCount;.|
|00000210| 7d 20 2f 2f 20 54 54 72 | 61 6e 73 61 63 74 69 6f |} // TTr|ansactio|
|00000220| 6e 42 61 73 65 4f 62 6a | 65 63 74 3a 3a 41 64 64 |nBaseObj|ect::Add|
|00000230| 52 65 66 65 72 65 6e 63 | 65 0d 0d 2f 2f 2d 2d 2d |Referenc|e..//---|
|00000240| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000250| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000260| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000270| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000280| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 0d 2f 2f |--------|-----.//|
|00000290| 20 54 54 72 61 6e 73 61 | 63 74 69 6f 6e 42 61 73 | TTransa|ctionBas|
|000002a0| 65 4f 62 6a 65 63 74 3a | 3a 52 65 6d 6f 76 65 52 |eObject:|:RemoveR|
|000002b0| 65 66 65 72 65 6e 63 65 | 0d 2f 2f 2d 2d 2d 2d 2d |eference|.//-----|
|000002c0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000002d0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000002e0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000002f0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000300| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 0d 42 6f 6f 6c |--------|---.Bool|
|00000310| 65 61 6e 20 54 54 72 61 | 6e 73 61 63 74 69 6f 6e |ean TTra|nsaction|
|00000320| 42 61 73 65 4f 62 6a 65 | 63 74 3a 3a 52 65 6d 6f |BaseObje|ct::Remo|
|00000330| 76 65 52 65 66 65 72 65 | 6e 63 65 28 29 20 63 6f |veRefere|nce() co|
|00000340| 6e 73 74 0d 7b 0d 09 2d | 2d 28 28 54 54 72 61 6e |nst.{..-|-((TTran|
|00000350| 73 61 63 74 69 6f 6e 42 | 61 73 65 4f 62 6a 65 63 |sactionB|aseObjec|
|00000360| 74 2a 29 74 68 69 73 29 | 2d 3e 66 52 65 66 65 72 |t*)this)|->fRefer|
|00000370| 65 6e 63 65 43 6f 75 6e | 74 3b 0d 09 0d 09 72 65 |enceCoun|t;....re|
|00000380| 74 75 72 6e 20 28 74 68 | 69 73 2d 3e 66 52 65 66 |turn (th|is->fRef|
|00000390| 65 72 65 6e 63 65 43 6f | 75 6e 74 20 3d 3d 20 30 |erenceCo|unt == 0|
|000003a0| 29 3b 0d 7d 20 2f 2f 20 | 54 54 72 61 6e 73 61 63 |);.} // |TTransac|
|000003b0| 74 69 6f 6e 42 61 73 65 | 4f 62 6a 65 63 74 3a 3a |tionBase|Object::|
|000003c0| 52 65 6d 6f 76 65 52 65 | 66 65 72 65 6e 63 65 0d |RemoveRe|ference.|
|000003d0| 0d 2f 2f 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |.//-----|--------|
|000003e0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000003f0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000400| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000410| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000420| 2d 2d 2d 0d 2f 2f 20 54 | 54 72 61 6e 73 61 63 74 |---.// T|Transact|
|00000430| 69 6f 6e 42 61 73 65 4f | 62 6a 65 63 74 3a 3a 44 |ionBaseO|bject::D|
|00000440| 69 73 70 6f 73 65 52 65 | 63 6f 72 64 49 66 55 6e |isposeRe|cordIfUn|
|00000450| 72 65 66 65 72 65 6e 63 | 65 64 0d 2f 2f 2d 2d 2d |referenc|ed.//---|
|00000460| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000470| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000480| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000490| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000004a0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 0d 76 6f |--------|-----.vo|
|000004b0| 69 64 20 54 54 72 61 6e | 73 61 63 74 69 6f 6e 42 |id TTran|sactionB|
|000004c0| 61 73 65 4f 62 6a 65 63 | 74 3a 3a 44 69 73 70 6f |aseObjec|t::Dispo|
|000004d0| 73 65 52 65 63 6f 72 64 | 49 66 55 6e 72 65 66 65 |seRecord|IfUnrefe|
|000004e0| 72 65 6e 63 65 64 28 29 | 0d 7b 0d 09 69 66 28 74 |renced()|.{..if(t|
|000004f0| 68 69 73 2d 3e 66 52 65 | 66 65 72 65 6e 63 65 43 |his->fRe|ferenceC|
|00000500| 6f 75 6e 74 20 3d 3d 20 | 30 29 0d 09 7b 0d 09 09 |ount == |0)..{...|
|00000510| 64 65 6c 65 74 65 20 74 | 68 69 73 3b 0d 09 7d 0d |delete t|his;..}.|
|00000520| 7d 20 2f 2f 20 54 54 72 | 61 6e 73 61 63 74 69 6f |} // TTr|ansactio|
|00000530| 6e 42 61 73 65 4f 62 6a | 65 63 74 3a 3a 44 69 73 |nBaseObj|ect::Dis|
|00000540| 70 6f 73 65 52 65 63 6f | 72 64 49 66 55 6e 72 65 |poseReco|rdIfUnre|
|00000550| 66 65 72 65 6e 63 65 64 | 0d 0d 2f 2f 2d 2d 2d 2d |ferenced|..//----|
|00000560| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000570| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000580| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000590| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000005a0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 0d 2f 2f 20 |--------|----.// |
|000005b0| 54 54 72 61 6e 73 61 63 | 74 69 6f 6e 42 61 73 65 |TTransac|tionBase|
|000005c0| 4f 62 6a 65 63 74 3a 3a | 50 72 65 70 61 72 65 54 |Object::|PrepareT|
|000005d0| 6f 43 6f 6d 6d 69 74 0d | 2f 2f 2d 2d 2d 2d 2d 2d |oCommit.|//------|
|000005e0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000005f0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000600| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000610| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000620| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 0d 76 6f 69 64 20 |--------|--.void |
|00000630| 54 54 72 61 6e 73 61 63 | 74 69 6f 6e 42 61 73 65 |TTransac|tionBase|
|00000640| 4f 62 6a 65 63 74 3a 3a | 50 72 65 70 61 72 65 54 |Object::|PrepareT|
|00000650| 6f 43 6f 6d 6d 69 74 28 | 54 54 72 61 6e 73 61 63 |oCommit(|TTransac|
|00000660| 74 69 6f 6e 2a 20 2f 2a | 74 72 61 6e 73 61 63 74 |tion* /*|transact|
|00000670| 69 6f 6e 2a 2f 29 0d 7b | 0d 7d 20 2f 2f 20 54 54 |ion*/).{|.} // TT|
|00000680| 72 61 6e 73 61 63 74 69 | 6f 6e 42 61 73 65 4f 62 |ransacti|onBaseOb|
|00000690| 6a 65 63 74 3a 3a 50 72 | 65 70 61 72 65 54 6f 43 |ject::Pr|epareToC|
|000006a0| 6f 6d 6d 69 74 0d 0d 2f | 2f 2d 2d 2d 2d 2d 2d 2d |ommit../|/-------|
|000006b0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000006c0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000006d0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000006e0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000006f0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 0d 2f 2f 20 54 54 72 |--------|-.// TTr|
|00000700| 61 6e 73 61 63 74 69 6f | 6e 41 77 61 72 65 4f 62 |ansactio|nAwareOb|
|00000710| 6a 65 63 74 3a 3a 47 72 | 61 62 55 70 64 61 74 65 |ject::Gr|abUpdate|
|00000720| 50 6f 69 6e 74 65 72 0d | 2f 2f 0d 2f 2f 20 49 6e |Pointer.|//.// In|
|00000730| 20 74 69 6d 65 20 74 68 | 69 73 20 73 68 6f 75 6c | time th|is shoul|
|00000740| 64 20 72 65 74 75 72 6e | 20 61 20 41 6e 55 70 64 |d return| a AnUpd|
|00000750| 61 74 65 3c 54 54 72 61 | 6e 73 61 63 74 69 6f 6e |ate<TTra|nsaction|
|00000760| 41 77 61 72 65 4f 62 6a | 65 63 74 3e 20 69 6e 73 |AwareObj|ect> ins|
|00000770| 74 65 61 64 0d 2f 2f 20 | 6f 66 20 61 20 54 54 72 |tead.// |of a TTr|
|00000780| 61 6e 73 61 63 74 69 6f | 6e 41 77 61 72 65 4f 62 |ansactio|nAwareOb|
|00000790| 6a 65 63 74 2a 0d 2f 2f | 2d 2d 2d 2d 2d 2d 2d 2d |ject*.//|--------|
|000007a0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000007b0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000007c0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000007d0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000007e0| 2d 2d 2d 2d 2d 2d 2d 2d | 0d 54 54 72 61 6e 73 61 |--------|.TTransa|
|000007f0| 63 74 69 6f 6e 41 77 61 | 72 65 4f 62 6a 65 63 74 |ctionAwa|reObject|
|00000800| 2a 20 54 54 72 61 6e 73 | 61 63 74 69 6f 6e 41 77 |* TTrans|actionAw|
|00000810| 61 72 65 4f 62 6a 65 63 | 74 3a 3a 47 72 61 62 55 |areObjec|t::GrabU|
|00000820| 70 64 61 74 65 50 6f 69 | 6e 74 65 72 28 54 54 72 |pdatePoi|nter(TTr|
|00000830| 61 6e 73 61 63 74 69 6f | 6e 2a 20 74 72 61 6e 73 |ansactio|n* trans|
|00000840| 61 63 74 69 6f 6e 29 20 | 63 6f 6e 73 74 0d 7b 0d |action) |const.{.|
|00000850| 09 52 45 51 55 49 52 45 | 56 41 4c 49 44 50 4f 49 |.REQUIRE|VALIDPOI|
|00000860| 4e 54 45 52 28 74 72 61 | 6e 73 61 63 74 69 6f 6e |NTER(tra|nsaction|
|00000870| 29 3b 0d 09 0d 09 2f 2f | 0d 09 2f 2f 20 49 66 20 |);....//|..// If |
|00000880| 74 68 69 73 20 6f 62 6a | 65 63 74 20 69 73 20 6e |this obj|ect is n|
|00000890| 6f 74 20 69 6e 20 61 6e | 79 20 74 72 61 6e 73 61 |ot in an|y transa|
|000008a0| 63 74 69 6f 6e 20 79 65 | 74 2c 0d 09 2f 2f 20 73 |ction ye|t,..// s|
|000008b0| 65 74 20 75 70 20 74 68 | 65 20 74 72 61 6e 73 61 |et up th|e transa|
|000008c0| 63 74 69 6f 6e 20 6c 69 | 6e 6b 73 2e 0d 09 2f 2f |ction li|nks...//|
|000008d0| 0d 09 69 66 28 74 68 69 | 73 2d 3e 49 6e 54 72 61 |..if(thi|s->InTra|
|000008e0| 6e 73 61 63 74 69 6f 6e | 28 29 20 3d 3d 20 66 61 |nsaction|() == fa|
|000008f0| 6c 73 65 29 0d 09 7b 0d | 09 09 74 68 69 73 2d 3e |lse)..{.|..this->|
|00000900| 53 65 74 54 72 61 6e 73 | 61 63 74 69 6f 6e 28 74 |SetTrans|action(t|
|00000910| 72 61 6e 73 61 63 74 69 | 6f 6e 29 3b 0d 09 09 74 |ransacti|on);...t|
|00000920| 72 61 6e 73 61 63 74 69 | 6f 6e 2d 3e 41 64 64 28 |ransacti|on->Add(|
|00000930| 28 54 54 72 61 6e 73 61 | 63 74 69 6f 6e 41 77 61 |(TTransa|ctionAwa|
|00000940| 72 65 4f 62 6a 65 63 74 | 2a 29 74 68 69 73 29 3b |reObject|*)this);|
|00000950| 0d 09 7d 0d 09 2f 2f 0d | 09 2f 2f 20 49 66 20 74 |..}..//.|.// If t|
|00000960| 68 69 73 20 6f 62 6a 65 | 63 74 20 69 73 20 61 6c |his obje|ct is al|
|00000970| 72 65 61 64 79 20 69 6e | 20 73 6f 6d 65 20 74 72 |ready in| some tr|
|00000980| 61 6e 73 61 63 74 69 6f | 6e 2c 20 61 6e 64 20 69 |ansactio|n, and i|
|00000990| 66 20 74 68 61 74 20 74 | 72 61 6e 73 61 63 74 69 |f that t|ransacti|
|000009a0| 6f 6e 0d 09 2f 2f 20 69 | 73 20 6e 6f 74 20 74 68 |on..// i|s not th|
|000009b0| 65 20 74 72 61 6e 73 61 | 63 74 69 6f 6e 20 74 68 |e transa|ction th|
|000009c0| 61 74 20 77 65 27 72 65 | 20 74 72 79 69 6e 67 20 |at we're| trying |
|000009d0| 74 6f 20 62 65 63 6f 6d | 65 20 70 61 72 74 20 6f |to becom|e part o|
|000009e0| 66 2c 20 74 68 65 6e 20 | 77 65 20 66 61 69 6c 2e |f, then |we fail.|
|000009f0| 0d 09 2f 2f 0d 09 65 6c | 73 65 20 69 66 28 74 68 |..//..el|se if(th|
|00000a00| 69 73 2d 3e 49 6e 54 72 | 61 6e 73 61 63 74 69 6f |is->InTr|ansactio|
|00000a10| 6e 28 74 72 61 6e 73 61 | 63 74 69 6f 6e 29 20 3d |n(transa|ction) =|
|00000a20| 3d 20 66 61 6c 73 65 29 | 0d 09 09 46 61 69 6c 45 |= false)|...FailE|
|00000a30| 72 72 28 65 41 6c 72 65 | 61 64 79 49 6e 54 72 61 |rr(eAlre|adyInTra|
|00000a40| 6e 73 61 63 74 69 6f 6e | 29 3b 09 0d 09 0d 09 2f |nsaction|);...../|
|00000a50| 2f 0d 09 2f 2f 20 43 61 | 73 74 20 61 77 61 79 20 |/..// Ca|st away |
|00000a60| 6f 75 72 20 63 6f 6e 73 | 74 2d 6e 65 73 73 20 61 |our cons|t-ness a|
|00000a70| 6e 64 20 72 65 74 75 72 | 6e 20 74 68 69 73 20 6f |nd retur|n this o|
|00000a80| 62 6a 65 63 74 2e 0d 09 | 2f 2f 0d 09 72 65 74 75 |bject...|//..retu|
|00000a90| 72 6e 20 28 54 54 72 61 | 6e 73 61 63 74 69 6f 6e |rn (TTra|nsaction|
|00000aa0| 41 77 61 72 65 4f 62 6a | 65 63 74 2a 29 74 68 69 |AwareObj|ect*)thi|
|00000ab0| 73 3b 0d 7d 0d 0d 2f 2f | 2d 2d 2d 2d 2d 2d 2d 2d |s;.}..//|--------|
|00000ac0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000ad0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000ae0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000af0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000b00| 2d 2d 2d 2d 2d 2d 2d 2d | 0d 2f 2f 20 54 54 72 61 |--------|.// TTra|
|00000b10| 6e 73 61 63 74 69 6f 6e | 41 77 61 72 65 4f 62 6a |nsaction|AwareObj|
|00000b20| 65 63 74 3a 3a 41 62 73 | 74 72 61 63 74 44 42 52 |ect::Abs|tractDBR|
|00000b30| 65 63 6f 72 64 0d 2f 2f | 2d 2d 2d 2d 2d 2d 2d 2d |ecord.//|--------|
|00000b40| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000b50| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000b60| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000b70| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000b80| 2d 2d 2d 2d 2d 2d 2d 2d | 0d 2f 2f 63 6f 6e 73 74 |--------|.//const|
|00000b90| 20 0d 54 44 42 52 65 63 | 6f 72 64 2a 20 54 54 72 | .TDBRec|ord* TTr|
|00000ba0| 61 6e 73 61 63 74 69 6f | 6e 41 77 61 72 65 4f 62 |ansactio|nAwareOb|
|00000bb0| 6a 65 63 74 3a 3a 41 62 | 73 74 72 61 63 74 44 42 |ject::Ab|stractDB|
|00000bc0| 52 65 63 6f 72 64 28 29 | 20 63 6f 6e 73 74 0d 7b |Record()| const.{|
|00000bd0| 0d 09 54 68 72 6f 77 28 | 65 57 72 6f 6e 67 44 61 |..Throw(|eWrongDa|
|00000be0| 74 61 54 79 70 65 29 3b | 0d 09 72 65 74 75 72 6e |taType);|..return|
|00000bf0| 20 6e 69 6c 3b 0d 7d 20 | 2f 2f 20 54 54 72 61 6e | nil;.} |// TTran|
|00000c00| 73 61 63 74 69 6f 6e 41 | 77 61 72 65 4f 62 6a 65 |sactionA|wareObje|
|00000c10| 63 74 3a 3a 41 62 73 74 | 72 61 63 74 44 42 52 65 |ct::Abst|ractDBRe|
|00000c20| 63 6f 72 64 0d 0d 2f 2f | 2d 2d 2d 2d 2d 2d 2d 2d |cord..//|--------|
|00000c30| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000c40| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000c50| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000c60| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000c70| 2d 2d 2d 2d 2d 2d 2d 2d | 0d 2f 2f 20 54 54 72 61 |--------|.// TTra|
|00000c80| 6e 73 61 63 74 69 6f 6e | 41 77 61 72 65 4f 62 6a |nsaction|AwareObj|
|00000c90| 65 63 74 3a 3a 44 42 45 | 6c 65 6d 65 6e 74 52 65 |ect::DBE|lementRe|
|00000ca0| 63 6f 72 64 0d 2f 2f 2d | 2d 2d 2d 2d 2d 2d 2d 2d |cord.//-|--------|
|00000cb0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000cc0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000cd0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000ce0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000cf0| 2d 2d 2d 2d 2d 2d 2d 0d | 2f 2f 63 6f 6e 73 74 20 |-------.|//const |
|00000d00| 0d 54 44 42 45 6c 65 6d | 65 6e 74 2a 20 54 54 72 |.TDBElem|ent* TTr|
|00000d10| 61 6e 73 61 63 74 69 6f | 6e 41 77 61 72 65 4f 62 |ansactio|nAwareOb|
|00000d20| 6a 65 63 74 3a 3a 44 42 | 45 6c 65 6d 65 6e 74 52 |ject::DB|ElementR|
|00000d30| 65 63 6f 72 64 28 29 20 | 63 6f 6e 73 74 0d 7b 0d |ecord() |const.{.|
|00000d40| 09 54 68 72 6f 77 28 65 | 57 72 6f 6e 67 44 61 74 |.Throw(e|WrongDat|
|00000d50| 61 54 79 70 65 29 3b 0d | 09 72 65 74 75 72 6e 20 |aType);.|.return |
|00000d60| 6e 69 6c 3b 0d 7d 20 2f | 2f 20 54 54 72 61 6e 73 |nil;.} /|/ TTrans|
|00000d70| 61 63 74 69 6f 6e 41 77 | 61 72 65 4f 62 6a 65 63 |actionAw|areObjec|
|00000d80| 74 3a 3a 44 42 45 6c 65 | 6d 65 6e 74 52 65 63 6f |t::DBEle|mentReco|
|00000d90| 72 64 0d 0d 2f 2f 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |rd..//--|--------|
|00000da0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000db0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000dc0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000dd0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000de0| 2d 2d 2d 2d 2d 2d 0d 2f | 2f 20 54 54 72 61 6e 73 |------./|/ TTrans|
|00000df0| 61 63 74 69 6f 6e 41 77 | 61 72 65 4f 62 6a 65 63 |actionAw|areObjec|
|00000e00| 74 3a 3a 44 42 50 72 6f | 70 65 72 74 79 52 65 63 |t::DBPro|pertyRec|
|00000e10| 6f 72 64 0d 2f 2f 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |ord.//--|--------|
|00000e20| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000e30| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000e40| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000e50| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000e60| 2d 2d 2d 2d 2d 2d 0d 2f | 2f 63 6f 6e 73 74 20 0d |------./|/const .|
|00000e70| 54 44 42 50 72 6f 70 65 | 72 74 79 2a 20 54 54 72 |TDBPrope|rty* TTr|
|00000e80| 61 6e 73 61 63 74 69 6f | 6e 41 77 61 72 65 4f 62 |ansactio|nAwareOb|
|00000e90| 6a 65 63 74 3a 3a 44 42 | 50 72 6f 70 65 72 74 79 |ject::DB|Property|
|00000ea0| 52 65 63 6f 72 64 28 29 | 20 63 6f 6e 73 74 0d 7b |Record()| const.{|
|00000eb0| 0d 09 54 68 72 6f 77 28 | 65 57 72 6f 6e 67 44 61 |..Throw(|eWrongDa|
|00000ec0| 74 61 54 79 70 65 29 3b | 0d 09 72 65 74 75 72 6e |taType);|..return|
|00000ed0| 20 6e 69 6c 3b 0d 7d 20 | 2f 2f 20 54 54 72 61 6e | nil;.} |// TTran|
|00000ee0| 73 61 63 74 69 6f 6e 41 | 77 61 72 65 4f 62 6a 65 |sactionA|wareObje|
|00000ef0| 63 74 3a 3a 44 42 50 72 | 6f 70 65 72 74 79 52 65 |ct::DBPr|opertyRe|
|00000f00| 63 6f 72 64 0d 0d 2f 2f | 2d 2d 2d 2d 2d 2d 2d 2d |cord..//|--------|
|00000f10| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000f20| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000f30| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000f40| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000f50| 2d 2d 2d 2d 2d 2d 2d 2d | 0d 2f 2f 20 54 54 72 61 |--------|.// TTra|
|00000f60| 6e 73 61 63 74 69 6f 6e | 41 77 61 72 65 4f 62 6a |nsaction|AwareObj|
|00000f70| 65 63 74 3a 3a 44 61 74 | 61 52 65 63 6f 72 64 0d |ect::Dat|aRecord.|
|00000f80| 2f 2f 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |//------|--------|
|00000f90| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000fa0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000fb0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000fc0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000fd0| 2d 2d 0d 2f 2f 63 6f 6e | 73 74 20 0d 54 44 61 74 |--.//con|st .TDat|
|00000fe0| 61 52 65 63 6f 72 64 2a | 20 54 54 72 61 6e 73 61 |aRecord*| TTransa|
|00000ff0| 63 74 69 6f 6e 41 77 61 | 72 65 4f 62 6a 65 63 74 |ctionAwa|reObject|
|00001000| 3a 3a 44 61 74 61 52 65 | 63 6f 72 64 28 29 20 63 |::DataRe|cord() c|
|00001010| 6f 6e 73 74 0d 7b 0d 09 | 54 68 72 6f 77 28 65 57 |onst.{..|Throw(eW|
|00001020| 72 6f 6e 67 44 61 74 61 | 54 79 70 65 29 3b 0d 09 |rongData|Type);..|
|00001030| 72 65 74 75 72 6e 20 6e | 69 6c 3b 0d 7d 20 2f 2f |return n|il;.} //|
|00001040| 20 54 54 72 61 6e 73 61 | 63 74 69 6f 6e 41 77 61 | TTransa|ctionAwa|
|00001050| 72 65 4f 62 6a 65 63 74 | 3a 3a 44 61 74 61 52 65 |reObject|::DataRe|
|00001060| 63 6f 72 64 0d 0d 2f 2f | 2d 2d 2d 2d 2d 2d 2d 2d |cord..//|--------|
|00001070| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001080| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001090| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000010a0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000010b0| 2d 2d 2d 2d 2d 2d 2d 2d | 0d 2f 2f 20 41 43 6f 6e |--------|.// ACon|
|000010c0| 73 74 3c 54 54 72 61 6e | 73 61 63 74 69 6f 6e 41 |st<TTran|sactionA|
|000010d0| 77 61 72 65 4f 62 6a 65 | 63 74 3e 3a 3a 41 64 64 |wareObje|ct>::Add|
|000010e0| 52 65 66 65 72 65 6e 63 | 65 0d 2f 2f 2d 2d 2d 2d |Referenc|e.//----|
|000010f0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001100| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001110| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001120| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001130| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 0d 76 6f 69 |--------|----.voi|
|00001140| 64 20 41 43 6f 6e 73 74 | 3c 54 54 72 61 6e 73 61 |d AConst|<TTransa|
|00001150| 63 74 69 6f 6e 41 77 61 | 72 65 4f 62 6a 65 63 74 |ctionAwa|reObject|
|00001160| 3e 3a 3a 41 64 64 52 65 | 66 65 72 65 6e 63 65 28 |>::AddRe|ference(|
|00001170| 29 20 63 6f 6e 73 74 0d | 7b 0d 09 69 66 28 66 52 |) const.|{..if(fR|
|00001180| 65 63 6f 72 64 20 21 3d | 20 6e 69 6c 29 0d 09 09 |ecord !=| nil)...|
|00001190| 66 52 65 63 6f 72 64 2d | 3e 41 64 64 52 65 66 65 |fRecord-|>AddRefe|
|000011a0| 72 65 6e 63 65 28 29 3b | 0d 7d 20 2f 2f 20 41 43 |rence();|.} // AC|
|000011b0| 6f 6e 73 74 3c 54 54 72 | 61 6e 73 61 63 74 69 6f |onst<TTr|ansactio|
|000011c0| 6e 41 77 61 72 65 4f 62 | 6a 65 63 74 3e 3a 3a 41 |nAwareOb|ject>::A|
|000011d0| 64 64 52 65 66 65 72 65 | 6e 63 65 0d 0d 2f 2f 2d |ddRefere|nce..//-|
|000011e0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000011f0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001200| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001210| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001220| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 0d |--------|-------.|
|00001230| 2f 2f 20 41 43 6f 6e 73 | 74 3c 54 54 72 61 6e 73 |// ACons|t<TTrans|
|00001240| 61 63 74 69 6f 6e 41 77 | 61 72 65 4f 62 6a 65 63 |actionAw|areObjec|
|00001250| 74 3e 3a 3a 52 65 6d 6f | 76 65 52 65 66 65 72 65 |t>::Remo|veRefere|
|00001260| 6e 63 65 0d 2f 2f 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |nce.//--|--------|
|00001270| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001280| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001290| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000012a0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000012b0| 2d 2d 2d 2d 2d 2d 0d 76 | 6f 69 64 20 41 43 6f 6e |------.v|oid ACon|
|000012c0| 73 74 3c 54 54 72 61 6e | 73 61 63 74 69 6f 6e 41 |st<TTran|sactionA|
|000012d0| 77 61 72 65 4f 62 6a 65 | 63 74 3e 3a 3a 52 65 6d |wareObje|ct>::Rem|
|000012e0| 6f 76 65 52 65 66 65 72 | 65 6e 63 65 28 29 20 63 |oveRefer|ence() c|
|000012f0| 6f 6e 73 74 0d 7b 0d 09 | 69 66 28 66 52 65 63 6f |onst.{..|if(fReco|
|00001300| 72 64 20 21 3d 20 6e 69 | 6c 29 0d 09 09 66 52 65 |rd != ni|l)...fRe|
|00001310| 63 6f 72 64 2d 3e 52 65 | 6d 6f 76 65 52 65 66 65 |cord->Re|moveRefe|
|00001320| 72 65 6e 63 65 28 29 3b | 0d 7d 20 2f 2f 20 41 43 |rence();|.} // AC|
|00001330| 6f 6e 73 74 3c 54 54 72 | 61 6e 73 61 63 74 69 6f |onst<TTr|ansactio|
|00001340| 6e 41 77 61 72 65 4f 62 | 6a 65 63 74 3e 3a 3a 52 |nAwareOb|ject>::R|
|00001350| 65 6d 6f 76 65 52 65 66 | 65 72 65 6e 63 65 0d 0d |emoveRef|erence..|
|00001360| 2f 2f 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |//------|--------|
|00001370| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001380| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001390| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000013a0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000013b0| 2d 2d 0d 2f 2f 20 41 6e | 55 70 64 61 74 65 3c 54 |--.// An|Update<T|
|000013c0| 54 72 61 6e 73 61 63 74 | 69 6f 6e 41 77 61 72 65 |Transact|ionAware|
|000013d0| 4f 62 6a 65 63 74 3e 3a | 3a 41 64 64 52 65 66 65 |Object>:|:AddRefe|
|000013e0| 72 65 6e 63 65 0d 2f 2f | 2d 2d 2d 2d 2d 2d 2d 2d |rence.//|--------|
|000013f0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001400| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001410| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001420| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001430| 2d 2d 2d 2d 2d 2d 2d 2d | 0d 76 6f 69 64 20 41 6e |--------|.void An|
|00001440| 55 70 64 61 74 65 3c 54 | 54 72 61 6e 73 61 63 74 |Update<T|Transact|
|00001450| 69 6f 6e 41 77 61 72 65 | 4f 62 6a 65 63 74 3e 3a |ionAware|Object>:|
|00001460| 3a 41 64 64 52 65 66 65 | 72 65 6e 63 65 28 29 20 |:AddRefe|rence() |
|00001470| 63 6f 6e 73 74 0d 7b 0d | 09 69 66 28 66 52 65 63 |const.{.|.if(fRec|
|00001480| 6f 72 64 20 21 3d 20 6e | 69 6c 29 0d 09 09 66 52 |ord != n|il)...fR|
|00001490| 65 63 6f 72 64 2d 3e 41 | 64 64 52 65 66 65 72 65 |ecord->A|ddRefere|
|000014a0| 6e 63 65 28 29 3b 0d 7d | 20 2f 2f 20 41 6e 55 70 |nce();.}| // AnUp|
|000014b0| 64 61 74 65 3c 54 54 72 | 61 6e 73 61 63 74 69 6f |date<TTr|ansactio|
|000014c0| 6e 41 77 61 72 65 4f 62 | 6a 65 63 74 3e 3a 3a 41 |nAwareOb|ject>::A|
|000014d0| 64 64 52 65 66 65 72 65 | 6e 63 65 0d 0d 2f 2f 2d |ddRefere|nce..//-|
|000014e0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000014f0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001500| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001510| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001520| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 0d |--------|-------.|
|00001530| 2f 2f 20 41 6e 55 70 64 | 61 74 65 3c 54 54 72 61 |// AnUpd|ate<TTra|
|00001540| 6e 73 61 63 74 69 6f 6e | 41 77 61 72 65 4f 62 6a |nsaction|AwareObj|
|00001550| 65 63 74 3e 3a 3a 52 65 | 6d 6f 76 65 52 65 66 65 |ect>::Re|moveRefe|
|00001560| 72 65 6e 63 65 0d 2f 2f | 2d 2d 2d 2d 2d 2d 2d 2d |rence.//|--------|
|00001570| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001580| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001590| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000015a0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000015b0| 2d 2d 2d 2d 2d 2d 2d 2d | 0d 76 6f 69 64 20 41 6e |--------|.void An|
|000015c0| 55 70 64 61 74 65 3c 54 | 54 72 61 6e 73 61 63 74 |Update<T|Transact|
|000015d0| 69 6f 6e 41 77 61 72 65 | 4f 62 6a 65 63 74 3e 3a |ionAware|Object>:|
|000015e0| 3a 52 65 6d 6f 76 65 52 | 65 66 65 72 65 6e 63 65 |:RemoveR|eference|
|000015f0| 28 29 20 63 6f 6e 73 74 | 0d 7b 0d 09 69 66 28 66 |() const|.{..if(f|
|00001600| 52 65 63 6f 72 64 20 21 | 3d 20 6e 69 6c 29 0d 09 |Record !|= nil)..|
|00001610| 09 66 52 65 63 6f 72 64 | 2d 3e 52 65 6d 6f 76 65 |.fRecord|->Remove|
|00001620| 52 65 66 65 72 65 6e 63 | 65 28 29 3b 0d 7d 20 2f |Referenc|e();.} /|
|00001630| 2f 20 41 6e 55 70 64 61 | 74 65 3c 54 54 72 61 6e |/ AnUpda|te<TTran|
|00001640| 73 61 63 74 69 6f 6e 41 | 77 61 72 65 4f 62 6a 65 |sactionA|wareObje|
|00001650| 63 74 3e 3a 3a 52 65 6d | 6f 76 65 52 65 66 65 72 |ct>::Rem|oveRefer|
|00001660| 65 6e 63 65 0d 0d 2f 2f | 2d 2d 2d 2d 2d 2d 2d 2d |ence..//|--------|
|00001670| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001680| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001690| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000016a0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000016b0| 2d 2d 2d 2d 2d 2d 2d 2d | 0d 2f 2f 20 41 43 6f 6e |--------|.// ACon|
|000016c0| 73 74 3c 54 54 72 61 6e | 73 61 63 74 69 6f 6e 42 |st<TTran|sactionB|
|000016d0| 61 73 65 4f 62 6a 65 63 | 74 3e 3a 3a 41 64 64 52 |aseObjec|t>::AddR|
|000016e0| 65 66 65 72 65 6e 63 65 | 0d 2f 2f 2d 2d 2d 2d 2d |eference|.//-----|
|000016f0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001700| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001710| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001720| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001730| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 0d 76 6f 69 64 |--------|---.void|
|00001740| 20 41 43 6f 6e 73 74 3c | 54 54 72 61 6e 73 61 63 | AConst<|TTransac|
|00001750| 74 69 6f 6e 42 61 73 65 | 4f 62 6a 65 63 74 3e 3a |tionBase|Object>:|
|00001760| 3a 41 64 64 52 65 66 65 | 72 65 6e 63 65 28 29 20 |:AddRefe|rence() |
|00001770| 63 6f 6e 73 74 0d 7b 0d | 09 69 66 28 66 52 65 63 |const.{.|.if(fRec|
|00001780| 6f 72 64 20 21 3d 20 6e | 69 6c 29 0d 09 09 66 52 |ord != n|il)...fR|
|00001790| 65 63 6f 72 64 2d 3e 41 | 64 64 52 65 66 65 72 65 |ecord->A|ddRefere|
|000017a0| 6e 63 65 28 29 3b 0d 7d | 20 2f 2f 20 41 43 6f 6e |nce();.}| // ACon|
|000017b0| 73 74 3c 54 54 72 61 6e | 73 61 63 74 69 6f 6e 42 |st<TTran|sactionB|
|000017c0| 61 73 65 4f 62 6a 65 63 | 74 3e 3a 3a 41 64 64 52 |aseObjec|t>::AddR|
|000017d0| 65 66 65 72 65 6e 63 65 | 0d 0d 2f 2f 2d 2d 2d 2d |eference|..//----|
|000017e0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000017f0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001800| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001810| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001820| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 0d 2f 2f 20 |--------|----.// |
|00001830| 41 43 6f 6e 73 74 3c 54 | 54 72 61 6e 73 61 63 74 |AConst<T|Transact|
|00001840| 69 6f 6e 42 61 73 65 4f | 62 6a 65 63 74 3e 3a 3a |ionBaseO|bject>::|
|00001850| 52 65 6d 6f 76 65 52 65 | 66 65 72 65 6e 63 65 0d |RemoveRe|ference.|
|00001860| 2f 2f 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |//------|--------|
|00001870| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001880| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001890| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000018a0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000018b0| 2d 2d 0d 76 6f 69 64 20 | 41 43 6f 6e 73 74 3c 54 |--.void |AConst<T|
|000018c0| 54 72 61 6e 73 61 63 74 | 69 6f 6e 42 61 73 65 4f |Transact|ionBaseO|
|000018d0| 62 6a 65 63 74 3e 3a 3a | 52 65 6d 6f 76 65 52 65 |bject>::|RemoveRe|
|000018e0| 66 65 72 65 6e 63 65 28 | 29 20 63 6f 6e 73 74 0d |ference(|) const.|
|000018f0| 7b 0d 09 69 66 28 66 52 | 65 63 6f 72 64 20 21 3d |{..if(fR|ecord !=|
|00001900| 20 6e 69 6c 29 0d 09 09 | 66 52 65 63 6f 72 64 2d | nil)...|fRecord-|
|00001910| 3e 52 65 6d 6f 76 65 52 | 65 66 65 72 65 6e 63 65 |>RemoveR|eference|
|00001920| 28 29 3b 0d 7d 20 2f 2f | 20 41 43 6f 6e 73 74 3c |();.} //| AConst<|
|00001930| 54 54 72 61 6e 73 61 63 | 74 69 6f 6e 42 61 73 65 |TTransac|tionBase|
|00001940| 4f 62 6a 65 63 74 3e 3a | 3a 52 65 6d 6f 76 65 52 |Object>:|:RemoveR|
|00001950| 65 66 65 72 65 6e 63 65 | 0d 0d 2f 2f 2d 2d 2d 2d |eference|..//----|
|00001960| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001970| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001980| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001990| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000019a0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 0d 2f 2f 20 |--------|----.// |
|000019b0| 41 6e 55 70 64 61 74 65 | 3c 54 54 72 61 6e 73 61 |AnUpdate|<TTransa|
|000019c0| 63 74 69 6f 6e 42 61 73 | 65 4f 62 6a 65 63 74 3e |ctionBas|eObject>|
|000019d0| 3a 3a 41 64 64 52 65 66 | 65 72 65 6e 63 65 0d 2f |::AddRef|erence./|
|000019e0| 2f 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |/-------|--------|
|000019f0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001a00| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001a10| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001a20| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001a30| 2d 0d 76 6f 69 64 20 41 | 6e 55 70 64 61 74 65 3c |-.void A|nUpdate<|
|00001a40| 54 54 72 61 6e 73 61 63 | 74 69 6f 6e 42 61 73 65 |TTransac|tionBase|
|00001a50| 4f 62 6a 65 63 74 3e 3a | 3a 41 64 64 52 65 66 65 |Object>:|:AddRefe|
|00001a60| 72 65 6e 63 65 28 29 20 | 63 6f 6e 73 74 0d 7b 0d |rence() |const.{.|
|00001a70| 09 69 66 28 66 52 65 63 | 6f 72 64 20 21 3d 20 6e |.if(fRec|ord != n|
|00001a80| 69 6c 29 0d 09 09 66 52 | 65 63 6f 72 64 2d 3e 41 |il)...fR|ecord->A|
|00001a90| 64 64 52 65 66 65 72 65 | 6e 63 65 28 29 3b 0d 7d |ddRefere|nce();.}|
|00001aa0| 20 2f 2f 20 41 6e 55 70 | 64 61 74 65 3c 54 54 72 | // AnUp|date<TTr|
|00001ab0| 61 6e 73 61 63 74 69 6f | 6e 42 61 73 65 4f 62 6a |ansactio|nBaseObj|
|00001ac0| 65 63 74 3e 3a 3a 41 64 | 64 52 65 66 65 72 65 6e |ect>::Ad|dReferen|
|00001ad0| 63 65 0d 0d 2f 2f 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |ce..//--|--------|
|00001ae0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001af0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001b00| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001b10| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001b20| 2d 2d 2d 2d 2d 2d 0d 2f | 2f 20 41 6e 55 70 64 61 |------./|/ AnUpda|
|00001b30| 74 65 3c 54 54 72 61 6e | 73 61 63 74 69 6f 6e 42 |te<TTran|sactionB|
|00001b40| 61 73 65 4f 62 6a 65 63 | 74 3e 3a 3a 52 65 6d 6f |aseObjec|t>::Remo|
|00001b50| 76 65 52 65 66 65 72 65 | 6e 63 65 0d 2f 2f 2d 2d |veRefere|nce.//--|
|00001b60| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001b70| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001b80| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001b90| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001ba0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 0d 76 |--------|------.v|
|00001bb0| 6f 69 64 20 41 6e 55 70 | 64 61 74 65 3c 54 54 72 |oid AnUp|date<TTr|
|00001bc0| 61 6e 73 61 63 74 69 6f | 6e 42 61 73 65 4f 62 6a |ansactio|nBaseObj|
|00001bd0| 65 63 74 3e 3a 3a 52 65 | 6d 6f 76 65 52 65 66 65 |ect>::Re|moveRefe|
|00001be0| 72 65 6e 63 65 28 29 20 | 63 6f 6e 73 74 0d 7b 0d |rence() |const.{.|
|00001bf0| 09 69 66 28 66 52 65 63 | 6f 72 64 20 21 3d 20 6e |.if(fRec|ord != n|
|00001c00| 69 6c 29 0d 09 09 66 52 | 65 63 6f 72 64 2d 3e 52 |il)...fR|ecord->R|
|00001c10| 65 6d 6f 76 65 52 65 66 | 65 72 65 6e 63 65 28 29 |emoveRef|erence()|
|00001c20| 3b 0d 7d 20 2f 2f 20 41 | 6e 55 70 64 61 74 65 3c |;.} // A|nUpdate<|
|00001c30| 54 54 72 61 6e 73 61 63 | 74 69 6f 6e 42 61 73 65 |TTransac|tionBase|
|00001c40| 4f 62 6a 65 63 74 3e 3a | 3a 52 65 6d 6f 76 65 52 |Object>:|:RemoveR|
|00001c50| 65 66 65 72 65 6e 63 65 | 0d 00 00 00 00 00 00 00 |eference|........|
|00001c60| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001c70| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001c80| 00 00 01 00 00 00 01 54 | 00 00 00 54 00 00 00 46 |.......T|...T...F|
|00001c90| 4c 57 4c 53 64 70 6e 73 | 03 00 00 00 00 00 00 00 |LWLSdpns|........|
|00001ca0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001cb0| 19 54 72 61 6e 73 61 63 | 74 69 6f 6e 41 77 61 72 |.Transac|tionAwar|
|00001cc0| 65 4f 62 6a 65 63 74 2e | 63 70 02 00 00 00 54 45 |eObject.|cp....TE|
|00001cd0| 00 00 54 45 58 54 43 57 | 49 45 01 00 00 00 00 00 |..TEXTCW|IE......|
|00001ce0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001cf0| 00 00 ab d2 e2 40 00 00 | 1b d9 00 00 01 9a 00 00 |.....@..|........|
|00001d00| 00 00 00 00 00 00 00 00 | 00 00 01 17 25 01 4d 50 |........|....%.MP|
|00001d10| 53 20 73 45 58 54 02 00 | 00 00 00 00 00 00 00 00 |S sEXT..|........|
|00001d20| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001d30| 00 00 00 00 00 df 25 01 | 4d 57 44 42 41 50 50 4c |......%.|MWDBAPPL|
|00001d40| 04 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001d50| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 8f |........|........|
|00001d60| 25 01 50 44 44 4d 64 70 | 63 6e 03 00 00 00 00 00 |%.PDDMdp|cn......|
|00001d70| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001d80| 00 00 00 48 00 09 4d 6f | 6e 61 63 6f 00 00 00 00 |...H..Mo|naco....|
|00001d90| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001da0| 00 00 00 00 00 00 00 03 | 00 04 00 63 00 13 01 d6 |........|...c....|
|00001db0| 02 72 00 63 00 13 01 d6 | 02 72 ad 3d 45 70 00 00 |.r.c....|.r.=Ep..|
|00001dc0| 05 d8 00 00 05 e5 00 00 | 03 51 01 00 00 00 00 04 |........|.Q......|
|00001dd0| 00 01 00 01 00 00 01 00 | 00 00 01 54 00 00 00 54 |........|...T...T|
|00001de0| 00 00 00 46 02 9b 37 60 | 1f 96 00 00 00 1c 00 46 |...F..7`|.......F|
|00001df0| 00 01 4d 50 53 52 00 00 | 00 12 4d 57 42 42 00 00 |..MPSR..|..MWBB..|
|00001e00| 00 1e 03 ed ff ff 00 00 | 00 00 00 00 00 00 03 f0 |........|........|
|00001e10| ff ff 00 00 00 4c 00 00 | 00 00 00 00 00 00 00 00 |.....L..|........|
|00001e20| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001e30| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001e40| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001e50| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001e60| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001e70| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
+--------+-------------------------+-------------------------+--------+--------+